package com.jinxin.platform.cdelecinspect.mapper;

import com.jinxin.platform.cdelecinspect.mapper.pojo.EleinspectMappingPointItems;
import com.jinxin.platform.cdelecinspect.mapper.pojo.EleinspectPointRecords;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;

/**
 * <b>[eleinspectMappingPointItems]数据访问接口</b>
 * 
 * <p>
 * 注意:此文件自动生成-禁止手工修改
 * </p>
 * 
 * @author @blue
 * @date 2020-03-31
 */
@Mapper
public interface EleinspectMappingPointItemsMapper {

	/**
	 * 插入一个数据持久化对象
	 *
	 * @param eleinspectMappingPointItems
	 *            要插入的数据持久化对象
	 * @return 返回影响行数
	 */
	int insert(EleinspectMappingPointItems eleinspectMappingPointItems);

	/**
	 * 根据主键修改数据持久化对象
	 * 
	 * @param eleinspectMappingPointItems
	 *            要修改的数据持久化对象
	 * @return int 返回影响行数
	 */
	int updateByKey(EleinspectMappingPointItems eleinspectMappingPointItems);

	/**
	 * 根据主键查询并返回数据持久化对象
	 * 
	 * @return EleinspectMappingPointItems
	 */
	EleinspectMappingPointItems selectByKey(@Param(value = "itemsId") String itemsId);

	/**
	 * 根据唯一组合条件查询并返回数据持久化对象
	 * 
	 * @return EleinspectMappingPointItems
	 */
	EleinspectMappingPointItems selectOne(HashMap param);

	/**
	 * 根据param查询并返回数据持久化对象集合
	 * 
	 * @return List<EleinspectMappingPointItems>
	 */
	List<EleinspectMappingPointItems> list(HashMap param);
	/**
	 * 查询巡检点位记录
	 */
	List<EleinspectPointRecords> listPointRecords(HashMap param);

	int listPointRecordsCount(HashMap param);

	List<EleinspectMappingPointItems> listPointItems(HashMap param);

	int listPointItemsCount(HashMap param);

	/**
	 * 批量删除巡检记录
	 * @param idList id列表
	 * @return
	 */
	int deleteByIds(@Param("idList")List<String> idList);

	/**
	 * 批量删除巡检项目
	 * @param idList 点位id列表
	 * @return
	 */
	int deleteItemsByIds(@Param("idList")List<String> idList);

	/**
	 * 根据项目id批量删除
	 * @param idList
	 * @return
	 */
	int deleteByItemIds(List<String> idList);

	/**
	 * 批量删除点位-线路
	 * @param idList id列表
	 * @return
	 */
	int deletePlItemsByIds(@Param("idList")List<String> idList);

	/**
	 * 返回分页数据持久化对象集合
	 * 
	 * @return List<EleinspectMappingPointItems>
	 */
	List<EleinspectMappingPointItems> listPage(HashMap param);
    /**
     * 返回分页数据总数
     *
     * @return
     */
    int listPageCount(HashMap param);

	/**
	 * 根据主键删除数据持久化对象
	 *
	 * @return 影响行数
	 */
	int deleteByKey(@Param(value = "mappingId") String mappingId);

    /**
     * 据点位id删除数据持久化对象
     * @param mappingPointId
     * @return
     */
	int deleteByPointId(String mappingPointId);

	/**
	 * 根据项目id删除
	 * @param itemId
	 * @return
	 */
	int deleteByItemId(String itemId,String pointId);
	
}
